package com.RLFZ.utils;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.IterUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.PredicateUtils;

import java.util.Collection;
import java.util.Collections;

/**
 * Description :
 *
 * @author: ZhuHai
 * @Date: 2023/4/25
 */
public class CollUtils {
    /**
     * 集合是否为非空
     *
     * @param collection 集合
     * @return 是否为非空
     */
    public static boolean isNotEmpty(Collection<?> collection) {
        collection.removeAll(Collections.singleton(null));
        return CollUtil.isNotEmpty(collection);
    }


    /**
     * 集合是否为空
     *
     * @param collection 集合
     * @return 是否为空
     */
    public static boolean isEmpty(Collection<?> collection) {
        collection.removeAll(Collections.singleton(null));
        return CollUtil.isEmpty(collection);
    }


    /**
     * Iterable是否为空
     *
     * @param iterable Iterable对象
     * @return 是否为空
     * @see IterUtil#isEmpty(Iterable)
     */
    public static boolean isEmpty(Iterable<?> iterable) {
        CollectionUtils.filter(iterable, PredicateUtils.notNullPredicate());
        return IterUtil.isEmpty(iterable);
    }
}
